<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>4_createRef</title>
    <!-- 引入 react核心库 -->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!-- 引入 react-dom 用于支持操作DOM -->
    <script type="text/javascript" src="../js/react-dom.development.js"></script>
    <!-- 引入 babel 用于将 jsx转为 js -->
    <script type="text/javascript" src="../js/babel.min.js"></script>
</head>
<body>
<div id="test"></div>
<script type="text/babel">
    class Demo extends React.Component {
        /**
         * React.createRef 调用后可以返回一个容器，该容器可以存储被ref 所标识的节点，并且这个是 “专人专用” 的
         * 每个节点独享一个
         * @type {*}
         */
        myRef = React.createRef();
        myRef2 = React.createRef();
        // 展示左侧输入框输入的数据
        showData = () => {
            console.log(this.myRef.current.value);
        }

        showData2 = () => {
            alert(this.myRef2.current.value);
        }

        render() {
            return (
                <div>
                    <input ref={ this.myRef } type="text" placeholder="点击按钮提示数据" />&nbsp;
                    <button onClick={this.showData}>点我提示左侧的数据</button>&nbsp;
                    <input ref={ this.myRef2 } onBlur={this.showData2} type="text" placeholder="点击按钮提示数据" />&nbsp;
                </div>
            )
        }
    }

    ReactDOM.render(<Demo />, document.getElementById("test"));
</script>
</body>
</html>